Currently, computer systems are available that provide users with various computer graphics capabilities. For example, users can create shapes in the form of graphic data objects by using various input devices. These devices can include a mouse, a pen or any functionally equivalent positioning device.
In many of these computer systems, shapes are created and drawn on a display as a result of user selection of a shape type from a number of predefined shape types. Upon selection of the shape type, the user specifies the size and position of a desired shape by selecting defining points such as a centerpoint, vertices, etc., of the shape with the user positioning device. Based on the defining points selected, the computer system draws the desired shape.
In some such computer systems, existing shapes, such as those obtained by the method described above, can be resized by the user. As shown in FIG. 1A, these systems accomplish such a resize operation by providing a boundary of move bars 100 about the shape, which is a parallelogram in this example. The user can then reduce or enlarge the entire shape in the x and y dimension by dragging resize handles 102 provided at an appropriate location, such as the ends of the move bars 100.
In such a resize operation, typically the entire shape is uniformly modified so as to maintain the proportions in the x and y direction. Since all portions of the shape are equally reproportioned in each single direction in which the resize handle is moved, existing angles are not necessarily maintained. For example, in FIG. 1B, operating a mouse to drag the resize handle 102 in the x direction causes all portions of the shape to elongate in that direction, corresponding to the distance the resize handle is dragged. The x component of the parallelogram's offset remains 15% of that of the entire parallelogram, but since the x component of the entire parallelogram is increased, the x component of the offset is increased, and the angle changes to the shear angle 106.
It is often desirable, however, to alter a portion of a shape without altering all portions of the shape as a required result. Unfortunately, a conventional resize operation cannot provide this capability. For example, a user may desire to change the shear angle 104 of the parallelogram shown in FIG. 1A to the shear angle 106 of the parallelogram shown in FIG. 1C, without changing the height or width of the parallelogram. As shown in FIG. 1B, the desired angle can be obtained by elongating the parallelogram in the x direction. The conventional resize operation could also be applied to obtain the desired shear angle by reducing the height of the parallelogram in the y direction, as shown in FIG. 1D. Unfortunately, however, it is not possible to change only the shear angle itself, to obtain the shape in FIG. 1C, without changing the height or width of the parallelogram, as shown in FIGS. 1B and 1D.
In some computer systems, it is of course also possible for a user to alter a shape by independently repositioning each vertex in the shape via the user positioning device. However, such a process is difficult to perform with accuracy, because some degree of human error is likely to occur in positioning the vertices. For example, an attempt to modify the shear angle of the parallelogram shown in FIG. 1C is not likely to produce a true parallelogram having exactly parallel sides. An illustration of such a potentially erroneous result is shown in FIG. 1E.
The above limitations are unfortunate because it is often desirable to nonuniformly adjust a familiar and commonly drawn shape. A nonuniform adjustment can be defined as modifying a portion of the entire shape in a consistent manner specific to the shape, without modifying the entire shape as a result.
In such a case, the user wishes to alter a specific portion of the shape. The user does not, however, wish to reproportion the entire shape as a result of this modification (as in the case discussed above in which the user wishes to change the shear angle of the parallelogram without changing the height or width). It is further desirable that this adjustment be made accurately, without human error. Thus, an accurate, user-driven method and means is desired for nonuniformly adjusting a predefined shape by modifying a portion of the predefined shape in a manner specific to the predefined shape, without modifying the entire shape as a result.